Materi yang akan dibahas dalam praktikum ini adalah:
Diagram batang digunakan untuk membandingkan kategori.
Membandingkan dua set kategori yang terkait.
Menampilkan perbandingan komposisi antar kategori.
Menunjukkan distribusi kategori dengan skala positif-negatif.
Digunakan untuk menunjukkan distribusi atau perbandingan antar kategori.
Visualisasi untuk membandingkan proporsi dua variabel kategori.
Digunakan untuk menampilkan proporsi dalam bentuk ikon atau blok.
Visualisasi matriks yang menggunakan warna untuk mewakili nilai numerik.
Menampilkan pengukuran dalam format indikator atau skala.
Digunakan untuk menunjukkan hierarki atau hubungan antar data.
Diagram aliran yang menunjukkan hubungan antar kategori.
Menunjukkan perubahan nilai dalam urutan kumulatif.
Ringkasan konsep perbandingan kategori.
Grafik garis untuk menunjukkan perubahan data dalam rentang waktu tertentu.
Versi melingkar dari grafik garis, sering digunakan untuk data musiman.
Menunjukkan perubahan data antara dua titik waktu.
Garis kecil yang menunjukkan tren singkat dalam dataset.
Menampilkan perubahan peringkat suatu kategori seiring waktu.
Menggambarkan pola siklus dalam data deret waktu.
Memvisualisasikan perubahan dalam data kuantitatif menggunakan area yang diisi warna.
Menampilkan perubahan dalam data kategorikal dengan bentuk yang mengalir.
Efektif untuk menampilkan data deret waktu dengan skala besar.
Digunakan untuk perencanaan proyek dan menunjukkan jadwal tugas dalam waktu tertentu.
Menunjukkan urutan kejadian atau alur kerja dalam bentuk diagram.
Scatterplot dengan garis yang menghubungkan titik-titik berdasarkan urutan waktu.
Ringkasan konsep visualisasi deret waktu.
Visualisasi distribusi data berbasis frekuensi dalam bentuk batang.
Digunakan untuk membandingkan distribusi kategori dua arah (misalnya populasi pria vs wanita).
Metode visualisasi ketidakpastian statistik dalam data.
Menampilkan lima ringkasan data: minimum, Q1, median, Q3, dan maksimum.
Digunakan dalam analisis keuangan untuk menunjukkan harga tertinggi, terendah, pembukaan, dan penutupan.
Kombinasi antara boxplot dan density plot untuk memahami distribusi data.
Menunjukkan distribusi data yang saling tumpang tindih dalam satu grafik.
Menunjukkan ketidakpastian dalam visualisasi data.
Digunakan untuk menampilkan distribusi angka dengan tetap mempertahankan nilai aslinya.
Ringkasan konsep visualisasi distribusi data.
Peta yang menggunakan warna untuk mewakili nilai numerik dalam wilayah geografis.
Peta di mana ukuran geografis diubah berdasarkan nilai data.
Menunjukkan pergerakan data (misalnya migrasi populasi, aliran lalu lintas) dalam peta.
Ringkasan konsep visualisasi geospasial.
Data Susenas Provinsi Jawa Barat tahun 2020
## Status_Rawan Pendidikan_KRT KRT_Rawan Jumlah_Penabung Jumlah_Buta_Huruf
## 1 Tidak_Rawan SD Tidak 2 0
## 2 Tidak_Rawan Perguruan Tinggi Tidak 3 0
## 3 Rawan Perguruan Tinggi Tidak 3 0
## 4 Tidak_Rawan SMP Tidak 0 1
## 5 Tidak_Rawan SD Tidak 0 0
## 6 Rawan SMP Tidak 1 0
## Penerima_Transfer Aset_Tanah Akses_Internet Sakit_Namun_Tidak_Rawat_Jalan
## 1 Tidak Ya Ya Tidak
## 2 Tidak Ya Ya Tidak
## 3 Tidak Ya Ya Tidak
## 4 Tidak Ya Tidak Tidak
## 5 Tidak Ya Tidak Tidak
## 6 Tidak Tidak Ya Tidak
## PKH KKS BPNT Bantuan_Pemda BPJS Jamkesda KIP_PIP Jenis_Atap
## 1 Tidak Tidak Tidak Tidak Tidak Tidak Tidak Genteng
## 2 Tidak Tidak Tidak Tidak Tidak Tidak Tidak Genteng
## 3 Tidak Tidak Tidak Tidak Tidak Tidak Tidak Asbes
## 4 Tidak Tidak Tidak Tidak Ya Tidak Tidak Asbes
## 5 Tidak Tidak Tidak Tidak Tidak Tidak Tidak Genteng
## 6 Tidak Tidak Tidak Tidak Tidak Tidak Tidak Asbes
## Jenis_Lantai Jenis_Dinding Luas_Lantai Listrik Bahan_Bakar_Masak
## 1 Marmer/Keramik Tembok/Plesteran/anyaman 60 Listrik LPG 3Kg
## 2 Marmer/Keramik Tembok/Plesteran/anyaman 170 Listrik LPG 3Kg
## 3 Marmer/Keramik Tembok/Plesteran/anyaman 60 Listrik LPG 3Kg
## 4 Lainnya Kayu/Papan 48 Listrik LPG 3Kg
## 5 Marmer/Keramik Tembok/Plesteran/anyaman 54 Listrik LPG 3Kg
## 6 Lainnya Tembok/Plesteran/anyaman 54 Listrik LPG 3Kg
## Sumber_Air_Minum Air_Minum_Layak Sanitasi_Layak KabKota
## 1 Lainnya Tidak Ya 1
## 2 Air kemasan/isi Ulang Tidak Ya 1
## 3 Air kemasan/isi Ulang Tidak Ya 1
## 4 Air kemasan/isi Ulang Tidak Tidak 1
## 5 Lainnya Tidak Tidak 1
## 6 Air kemasan/isi Ulang Tidak Ya 1
## nama_prov value_prov variable_kab nama_kab value_kab kab
## 1 ACEH 11 R102 SIMEULUE 1101 1
## 2 ACEH 11 R102 ACEH SINGKIL 1102 2
## 3 ACEH 11 R102 ACEH SELATAN 1103 3
## 4 ACEH 11 R102 ACEH TENGGARA 1104 4
## 5 ACEH 11 R102 ACEH TIMUR 1105 5
## 6 ACEH 11 R102 ACEH TENGAH 1106 6
datakab <- namakabupaten[
namakabupaten$nama_prov == "JAWA BARAT",
c("nama_kab", "kab")
]
colnames(datakab) <- c("Nama Kabupaten", "KabKota")
data <- merge(susenas, datakab, by="KabKota")
head(data)## KabKota Status_Rawan Pendidikan_KRT KRT_Rawan Jumlah_Penabung
## 1 1 Tidak_Rawan SD Tidak 2
## 2 1 Tidak_Rawan Perguruan Tinggi Tidak 3
## 3 1 Rawan Perguruan Tinggi Tidak 3
## 4 1 Tidak_Rawan SMP Tidak 0
## 5 1 Tidak_Rawan SD Tidak 0
## 6 1 Rawan SMP Tidak 1
## Jumlah_Buta_Huruf Penerima_Transfer Aset_Tanah Akses_Internet
## 1 0 Tidak Ya Ya
## 2 0 Tidak Ya Ya
## 3 0 Tidak Ya Ya
## 4 1 Tidak Ya Tidak
## 5 0 Tidak Ya Tidak
## 6 0 Tidak Tidak Ya
## Sakit_Namun_Tidak_Rawat_Jalan PKH KKS BPNT Bantuan_Pemda BPJS Jamkesda
## 1 Tidak Tidak Tidak Tidak Tidak Tidak Tidak
## 2 Tidak Tidak Tidak Tidak Tidak Tidak Tidak
## 3 Tidak Tidak Tidak Tidak Tidak Tidak Tidak
## 4 Tidak Tidak Tidak Tidak Tidak Ya Tidak
## 5 Tidak Tidak Tidak Tidak Tidak Tidak Tidak
## 6 Tidak Tidak Tidak Tidak Tidak Tidak Tidak
## KIP_PIP Jenis_Atap Jenis_Lantai Jenis_Dinding Luas_Lantai
## 1 Tidak Genteng Marmer/Keramik Tembok/Plesteran/anyaman 60
## 2 Tidak Genteng Marmer/Keramik Tembok/Plesteran/anyaman 170
## 3 Tidak Asbes Marmer/Keramik Tembok/Plesteran/anyaman 60
## 4 Tidak Asbes Lainnya Kayu/Papan 48
## 5 Tidak Genteng Marmer/Keramik Tembok/Plesteran/anyaman 54
## 6 Tidak Asbes Lainnya Tembok/Plesteran/anyaman 54
## Listrik Bahan_Bakar_Masak Sumber_Air_Minum Air_Minum_Layak
## 1 Listrik LPG 3Kg Lainnya Tidak
## 2 Listrik LPG 3Kg Air kemasan/isi Ulang Tidak
## 3 Listrik LPG 3Kg Air kemasan/isi Ulang Tidak
## 4 Listrik LPG 3Kg Air kemasan/isi Ulang Tidak
## 5 Listrik LPG 3Kg Lainnya Tidak
## 6 Listrik LPG 3Kg Air kemasan/isi Ulang Tidak
## Sanitasi_Layak Nama Kabupaten
## 1 Ya BOGOR
## 2 Ya BOGOR
## 3 Ya BOGOR
## 4 Tidak BOGOR
## 5 Tidak BOGOR
## 6 Ya BOGOR
## [1] 0
## 'data.frame': 24769 obs. of 27 variables:
## $ KabKota : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Status_Rawan : chr "Tidak_Rawan" "Tidak_Rawan" "Rawan" "Tidak_Rawan" ...
## $ Pendidikan_KRT : chr "SD" "Perguruan Tinggi" "Perguruan Tinggi" "SMP" ...
## $ KRT_Rawan : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ Jumlah_Penabung : int 2 3 3 0 0 1 3 2 1 4 ...
## $ Jumlah_Buta_Huruf : int 0 0 0 1 0 0 0 0 0 0 ...
## $ Penerima_Transfer : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ Aset_Tanah : chr "Ya" "Ya" "Ya" "Ya" ...
## $ Akses_Internet : chr "Ya" "Ya" "Ya" "Tidak" ...
## $ Sakit_Namun_Tidak_Rawat_Jalan: chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ PKH : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ KKS : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ BPNT : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ Bantuan_Pemda : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ BPJS : chr "Tidak" "Tidak" "Tidak" "Ya" ...
## $ Jamkesda : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ KIP_PIP : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ Jenis_Atap : chr "Genteng" "Genteng" "Asbes" "Asbes" ...
## $ Jenis_Lantai : chr "Marmer/Keramik" "Marmer/Keramik" "Marmer/Keramik" "Lainnya" ...
## $ Jenis_Dinding : chr "Tembok/Plesteran/anyaman" "Tembok/Plesteran/anyaman" "Tembok/Plesteran/anyaman" "Kayu/Papan" ...
## $ Luas_Lantai : int 60 170 60 48 54 54 72 60 73 70 ...
## $ Listrik : chr "Listrik" "Listrik" "Listrik" "Listrik" ...
## $ Bahan_Bakar_Masak : chr "LPG 3Kg" "LPG 3Kg" "LPG 3Kg" "LPG 3Kg" ...
## $ Sumber_Air_Minum : chr "Lainnya" "Air kemasan/isi Ulang" "Air kemasan/isi Ulang" "Air kemasan/isi Ulang" ...
## $ Air_Minum_Layak : chr "Tidak" "Tidak" "Tidak" "Tidak" ...
## $ Sanitasi_Layak : chr "Ya" "Ya" "Ya" "Tidak" ...
## $ Nama Kabupaten : chr "BOGOR" "BOGOR" "BOGOR" "BOGOR" ...
##
## 4 73
## 1153 1013
Dengan Warna default
Warna Viridis
Warna manual
ggplot(data, aes(Status_Rawan, fill=Status_Rawan)) +
geom_bar() +
scale_fill_manual(values = c("#FF6961", "#8CD47E"))ggplot(data, aes(`Nama Kabupaten`, fill=`Nama Kabupaten`)) +
geom_bar() +
scale_fill_viridis(discrete = T)Ubah angle text
ggplot(data, aes(`Nama Kabupaten`, fill=`Nama Kabupaten`)) +
geom_bar() +
scale_fill_viridis(discrete = T) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))ggplot(data, aes(`Nama Kabupaten`, fill=`Nama Kabupaten`)) +
geom_bar() +
scale_fill_viridis(discrete = T) +
theme(axis.text.x = element_text(angle = 75, vjust = 1, hjust = 1))Hapus legend
ggplot(data, aes(`Nama Kabupaten`, fill=`Nama Kabupaten`)) +
geom_bar() +
scale_fill_viridis(discrete = T) +
theme(axis.text.x = element_text(angle = 75, vjust = 1, hjust = 1),
legend.position = "none") + ylab("Frekuensi")Rotasi Barchart
ggplot(data, aes(y = `Nama Kabupaten`, fill=`Nama Kabupaten`)) +
geom_bar() +
scale_fill_viridis(discrete = T) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1),
legend.position = "none") +
xlab("Frekuensi")ggplot(data, aes(`Nama Kabupaten`, fill=`Nama Kabupaten`)) +
geom_bar() +
scale_fill_viridis(discrete = T) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1),
legend.position = "none") +
ylab("Frekuensi") +
coord_flip() +
ggtitle("Diagram Batang Kabupaten")percentDatadaerah <- data %>%
group_by(`Nama Kabupaten`) %>%
count(Status_Rawan) %>%
mutate(ratio=scales::percent(n/sum(n)))
head(percentDatadaerah)## # A tibble: 6 × 4
## # Groups: Nama Kabupaten [3]
## `Nama Kabupaten` Status_Rawan n ratio
## <chr> <chr> <int> <chr>
## 1 BANDUNG Rawan 502 23%
## 2 BANDUNG Tidak_Rawan 1664 77%
## 3 BANDUNG BARAT Rawan 271 28%
## 4 BANDUNG BARAT Tidak_Rawan 683 72%
## 5 BANJAR Rawan 44 8%
## 6 BANJAR Tidak_Rawan 525 92%
ggplot(data, aes(x=`Nama Kabupaten`, fill=Status_Rawan)) +
geom_bar(position="fill") +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
coord_flip() +
geom_text(data=percentDatadaerah, aes(y=n, label=ratio),
color="white", position=position_fill(vjust=0.5), size = 3.5)percentDatadaerah_rawan <- percentDatadaerah %>%
filter(Status_Rawan == "Rawan") %>%
as.data.frame()
head(percentDatadaerah_rawan)## Nama Kabupaten Status_Rawan n ratio
## 1 BANDUNG Rawan 502 23%
## 2 BANDUNG BARAT Rawan 271 28%
## 3 BANJAR Rawan 44 8%
## 4 BEKASI Rawan 296 14%
## 5 BOGOR Rawan 382 20%
## 6 CIAMIS Rawan 291 28%
ggplot(percentDatadaerah_rawan, aes(x=`Nama Kabupaten`, y=n)) +
geom_segment(aes(x=`Nama Kabupaten`, xend=`Nama Kabupaten`, y=0, yend=n)) +
geom_point() + coord_flip()ggplot(percentDatadaerah_rawan, aes(x = `Nama Kabupaten`, y = n)) + geom_segment(aes(x = `Nama Kabupaten`, xend = `Nama Kabupaten`, y = 0, yend = n)) + geom_point() + coord_flip() + geom_point(size = 4, pch = 21, bg = 5, col = 6)ggplot(percentDatadaerah_rawan, aes(x = `Nama Kabupaten`, y = n)) + geom_segment(aes(x = `Nama Kabupaten`, xend = `Nama Kabupaten`, y = 0, yend = n), color="grey", lwd=1.5) + geom_point() + coord_flip() + geom_point(size = 5, pch = 21, bg = 6, col = 1) + theme_classic()ggplot(percentDatadaerah_rawan, aes(x = `Nama Kabupaten`, y = n)) + geom_segment(aes(x = `Nama Kabupaten`, xend = `Nama Kabupaten`, y = 0, yend = n), color="grey", lwd=1.5) + geom_point() + coord_flip() + geom_point(size = 5, pch = 21, bg = 6, col = 1) + theme_classic()ggplot(percentDatadaerah_rawan, aes(x = `Nama Kabupaten`, y = n)) + geom_segment(aes(x = `Nama Kabupaten`, xend = `Nama Kabupaten`, y = 0, yend = n), color="grey", lwd=1.5) + geom_point() + coord_flip() + geom_point(size = 5, pch = 21, bg = 6, col = 1) + geom_text(aes(label = n), color = "white", size = 2) + theme_classic() ## [1] BANDUNG BANDUNG BARAT BANJAR BEKASI BOGOR
## [6] CIAMIS CIANJUR CIMAHI CIREBON DEPOK
## [11] GARUT INDRAMAYU KARAWANG KUNINGAN MAJALENGKA
## [16] PANGANDARAN PURWAKARTA SUBANG SUKABUMI SUMEDANG
## [21] TASIKMALAYA
## attr(,"scores")
## BANDUNG BANDUNG BARAT BANJAR BEKASI BOGOR
## 502 271 44 296 382
## CIAMIS CIANJUR CIMAHI CIREBON DEPOK
## 291 268 153 477 111
## GARUT INDRAMAYU KARAWANG KUNINGAN MAJALENGKA
## 275 263 164 191 178
## PANGANDARAN PURWAKARTA SUBANG SUKABUMI SUMEDANG
## 171 172 201 446 200
## TASIKMALAYA
## 295
## 21 Levels: BANJAR DEPOK CIMAHI KARAWANG PANGANDARAN PURWAKARTA ... BANDUNG
ggplot(percentDatadaerah_rawan, aes(x = reorder(`Nama Kabupaten`, n), y = n)) + geom_segment(aes(xend = `Nama Kabupaten`, y = 0, yend = n), color="grey", lwd=1.5) + geom_point() + coord_flip() + geom_point(size = 5, pch = 21, bg = 6, col = 1) + geom_text(aes(label = n), color = "white", size = 2) + theme_classic()